iT邦幫忙

2022 iThome 鐵人賽

DAY 15
0

上集解答

fun collatz(n:Int):Boolean{
    return true
}

畢竟雖然還沒證明完,不過目前來看的確一定會變成1就是了。

才怪,我們要練習遞迴啦。

fun collatz(n:Int):Boolean{
    if(n==1){
        return true
    }
    if(n%2==0){
        return collatz(n/2)
    }
    else{
        return collatz(3*n+1)
    }
}

大家都有成功嗎?

物件

今天是語法篇的最後一篇,最後我們要來介紹一個好用的語法,叫做class。

畢竟現實不是只有一個個變數而已,一個東西可能還有很多其他的資料。

類別 class 就是我們用來的方案。

在資工的專有名詞中,我們把東西的種類叫做類別Clas,東西叫做物件Object,東西的資料們我們叫做屬性property,然後能做的事叫做方法Method。

比如今天有一隻小狗(物件),他是一種狗(類別),他有名字(屬性)、毛色(屬性),他會握手(方法)、吼叫(方法)。

我們今天要設計狗這種類別,長這個樣子。

class Dog{
    var name:String = ""
    var color:String = ""
    fun shakeHand(){
        println("$name shake hand.")
    }
    fun barking(){
        println("$name say: bow-wow")
    }
}

其實方法就是class裡面的函式喔,然後是可以呼叫函式裡面的變數的。

而且這個class的語法,其實就是前面有提過的自製變數型別的方法喔,讓我們接著來看宣告完class可以怎麼使用。

fun main(){
    var tom = Dog()
    tom.name = "tom"
    tom.color = "black"
    tom.shakeHand()
    tom.barking()
    println("this is my dog, its name is ${tom.name} , and he is ${tom.color}.")
}

輸出結果長這樣:

tom shake hand.
tom say: bow-wow
this is my dog, its name is tom , and he is black dog.

跟你們想的一樣嗎?

今天可能講的有點不清楚,因為櫛風真的有點不知道要怎麼去教,大家可以的話,還是自己多試試看物件才能更有觀念喔。

課堂練習~

實作一個物件Cat,他有屬性 name、color,跟方法moew()、eat()。


上一篇
[Day14][語法]遞迴
下一篇
[Day16][資結]什麼是資料結構
系列文
櫛風風的「完全不會寫程式,從零開始的 Kotlin 教學」30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言